﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SIIE_ERP.BaseDatos;
using SIIE_ERP.Codigo;

namespace SIIE_ERP.BaseDatos.PuntoVenta.Transacciones
{
    public class dbo_Trans_MovimientoDineroCaja
    {
        #region Propiedades

        private string _RFC;
        private string _Usuario;

        #endregion

        #region Constructores

        public dbo_Trans_MovimientoDineroCaja(string RFC, string Usuario)
        {
            this._RFC = RFC;
            this._Usuario = Usuario;
        }

        #endregion

        public Respuesta Insert_Trans_MovimientoDineroCaja(
                string IdApertura,
                string IdTerminal,
                string IdCuentaOrigen,
                string IdCuentaDestino,
                string Importe,
                string SignoOperacion
            )
        {

            string Query = @"INSERT INTO dbo_Trans_MovimientoDinero_Caja (
                                Id_Movimiento,
                                Id_Apertura,    
                                Id_Terminal,
                                Id_Cuenta_Origen,
                                Id_Cuenta_Destino,
                                Importe,
                                Fecha_Alta,
                                Usuario_Alta,
                                Signo_Operacion,
                                RFC
                            ) VALUES (
                                IIF(DCount('*', 'dbo_Trans_MovimientoDinero_Caja') = 0, 1, DMax('Id_Movimiento', 'dbo_Trans_MovimientoDinero_Caja') + 1),
                                @@Id_Apertura,
                                @@Id_Terminal,
                                @@Id_Cuenta_Origen,
                                @@Id_Cuenta_Destino,
                                @@Importe,  
                                NOW(),
                                '@@Usuario_Alta',
                                '@@Signo_Operacion',
                                '@@RFC'
                            )";

            Query = Query.Replace("@@Id_Apertura", IdApertura);
            Query = Query.Replace("@@Id_Terminal", IdTerminal);
            Query = Query.Replace("@@Id_Cuenta_Origen", IdCuentaOrigen);
            Query = Query.Replace("@@Id_Cuenta_Destino", IdCuentaDestino ?? "NULL");
            Query = Query.Replace("@@Importe", Importe);
            Query = Query.Replace("@@Usuario_Alta", this._Usuario);
            Query = Query.Replace("@@Signo_Operacion", SignoOperacion);
            Query = Query.Replace("@@RFC", this._RFC);

            return SrvDB.ExecuteQuery_Insert(Query);

        }

    }
}
